// https://leetcode-cn.com/problems/longest-consecutive-sequence/
// 128. 最长连续序列
// 给定一个未排序的整数数组 nums，找出数字连续的最长序列（不要求序列元素在
// 原数组中连续）的长度。
// 要求设计并实现复杂度为 O(n) 的算法解决此问题
function longestConsecutive(nums: number[]): number {
    if (nums.length === 0) return 0;

    const set = new Set(nums);

    let result = 1;
    for (let num of set) {
        if (set.has(num - 1) === false) {
            let current = num;
            let len = 1;
            while (set.has(current + 1)) {
                len++;
                current++;
            }
            result = Math.max(len, result);
        }
    }
    return result;
}
